Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /
Chapter 18 - QuickDraw 3D Pointing Device Manager / QuickDraw 3D Pointing Device Manager Reference
Application-Defined Routines /


TQ3ChannelSetMethod

You can define a function that QuickDraw 3D calls to set a channel of a controller.

typedef TQ3Status (*TQ3ChannelSetMethod) (
TQ3ControllerRef controllerRef, 
unsigned long channel, 
const void *data, 
unsigned long dataSize);
controllerRef
A reference to a controller.
channel
An index into the list of channels associated with the specified controller. This value is always greater than or equal to 0 and less than the channel count specified at the time Q3Controller_New was called.
data
On entry, a pointer to a buffer that contains the desired value of the specified controller channel. If this field contains the value NULL, you should reset the specified channel to a default or inactive value.
dataSize
On entry, the number of bytes of data in the specified buffer.
DESCRIPTION
Your TQ3ChannelSetMethod function should set the controller channel specified by the controllerRef and channel parameters to the value specified by the data parameter. The dataSize parameter specifies the number of bytes in the data buffer. QuickDraw 3D allocates memory for the data buffer before it calls your function and deallocates the memory after your function has returned. The maximum number of bytes that the data buffer can hold is defined by a constant:

#define kQ3ControllerSetChannelMaxDataSize         256
SPECIAL CONSIDERATIONS
You need to define a channel-setting method only if you are writing a device driver for a controller. You can, however, call Q3Controller_SetChannel at any time to invoke a controller's channel-setting method.

RESULT CODES
Your channel-setting method should return kQ3Success if it is able to set the specified channel to the specified value and kQ3Failure otherwise.

SEE ALSO
See the description of Q3Controller_SetChannel on page 18-19 for information on setting a controller's channels.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996